#ifndef __MY_HEAD_H
#define __MY_HEAD_H

#include<stdio.h>
#include<stdbool.h> 
#include<string.h>
#include <ctype.h>


// ANSI转义序列定义
#define CLEAR_SCREEN() printf("\033[2J\033[H") //清屏
#define MOVE_CURSOR(r,c) printf("\033[%d;%dH", (r), (c)) // 光标移动到指定的行和列
#define SET_COLOR(fg,bg) printf("\033[%d;%dm", (fg), (bg)+10) //设置前景色和背景色
#define RESET_COLOR() printf("\033[0m") // 重置颜色
#define CLEAR_LINE() printf("\033[2K") //清除当前行


// 屏幕尺寸和颜色定义
#define SCREEN_WIDTH 80
#define SCREEN_HEIGHT 25
#define COLOR_TITLE 34  // 蓝色
#define COLOR_ERROR 31  // 红色
#define COLOR_SUCCESS 32 // 绿色
#define COLOR_MENU 36   // 青色
#define COLOR_YELLOW 33 //黄色



typedef struct book
{
    int Number;
    char Title[100];
    char Author[100];
    
    bool Status;
}book;



void Enter();
void LoginOption();
void admin_menu();
void User_menu();
void DepositInBooks();
void DeleteBooks();
void ShowAllBooks();
void Find();
void Borrow();
void Return();
void borrowingInquiry();
void getinput(char *buffer,int max_len,int row,int col);
int getchoice(int min,int max,int row,int col);

#endif